package com.itehima.Function;

import java.util.Arrays;

public class Demo01 {
    public static void main(StringOperation[] args) {

        //逐渐理解方法引用
        //创建一个数组进行倒序排列
        Integer[] arr={3,5,4,1,6,2};

        //lambda表达式
        Arrays.sort(arr, (o1,o2)->o2-o1);

        //对于方法引用
        //1.引用处要是函数式接口
        //2.被引用的方法需要已经存在
        //3.被引用方法的形参和返回值需要跟抽象方法的形参和返回值保持一致
        //4.被引用方法功能需要满足当前要求

        //方法引用
        Arrays.sort(arr,Demo01::suf);
        System.out.println(Arrays.toString(arr));//[6, 5, 4, 3, 2, 1]
    }

    //定义在本类中
    public static int suf(int num1,int num2)
    {
        return num2-num1;
    }
}
